home *** CD-ROM | disk | FTP | other *** search
/ Compendium Deluxe 2 / LSD and 17bit Compendium Deluxe - Volume II.iso / a / prog / asmsrc / phagexsources.lha / source / BareBase.s < prev    next >
Text File  |  1994-07-09  |  4KB  |  257 lines

  1.     Opt    c-
  2.     Section    "Base Code",Code_c
  3.  
  4. Start    Movem.l    d0-d7/a0-a6,-(sp) 
  5.     Bsr    KillSys      
  6.     
  7.     Lea    CopperList(pc),a0 
  8.     Lea    HardWare,a6      
  9.     Move.l    a0,Cop1Lc(a6)      
  10.     Move.w    #$83c0,DMACon(a6)
  11.  
  12. Loop    Btst    #6,$Bfe001      
  13.     Bne    Loop      
  14.         
  15.     Bsr    ReturnSys      
  16.     Movem.l    (sp)+,d0-d7/a0-a6 
  17.     Moveq    #0,d0      
  18.     Rts
  19.  
  20. WaitBlitter    Btst    #$6,$2(a6)
  21.     Bne    WaitBlitter
  22.     Rts
  23.  
  24. VBL    Move.l    $Dff004,d0
  25.     And.l    #$1ff00,d0
  26.     Cmp.l    #$13000,d0
  27.     Bne    VBL
  28.     Rts
  29.  
  30. KillSys    Bsr.s    SysWait    
  31.  
  32.     Move.l    $4,a6    
  33.     Lea    GFXName(pc),a1    
  34.     Moveq    #0,d0    
  35.     Jsr    -552(a6)    
  36.         
  37.     Lea    OldCop1(pc),a5
  38.     Move.l    $26(a0),$0(a5)    
  39.     Move.l    $32(a0),$4(a5)    
  40.     
  41.     Lea    HardWare,a6
  42.     Move.w    IntEnaR(a6),d0    
  43.     Move.w    DMAConR(a6),d1  
  44.     Or.w    #$8000,d0    
  45.     And.w    #$03ff,d1    
  46.     Or.w    #$8000,d1    
  47.     Move.w    d0,$8(a5)    
  48.     Move.w    d1,$a(a5)    
  49.     
  50.     Move.w    #$7fff,IntEna(a6) 
  51.     Move.w    #$7fff,DMACon(a6) 
  52.     Rts
  53.  
  54. SysWait    Move.w    #15,d7    
  55. SysWaitLoop    Move.l    #$05000,d1    
  56.     Bsr.s    WaitVBL    
  57.     Bsr.s    DoWaitVBL    
  58.     Dbf    d7,SysWaitLoop    
  59.     Rts
  60.  
  61. DoWaitVBL    Move.l    #$03000,d1    
  62. WaitVBL    Movem.l    d0-d1/a6,-(sp)    
  63.     Lea    HardWare,a6    
  64. WaitVBLLoop    Move.l    VPosR(a6),d0    
  65.     And.l    #$1ff00,d0    
  66.     Cmp.l    d1,d0    
  67.     Bne.s    WaitVBLLoop    
  68.     Movem.l    (sp)+,d0-d1/a6    
  69.     Rts        
  70.  
  71. ReturnSys    Lea    HardWare,a6    
  72.     Move.w    OldIntEna(pc),IntEna(a6)
  73.     Move.w    OldDMACon(pc),DMACon(a6)
  74.     Move.l    OldCop1(pc),Cop1lc(a6)
  75.     Move.l    OldCop2(pc),Cop2lc(a6)
  76.     Rts
  77.  
  78. GFXName    Dc.b    "graphics.library",0
  79.     Even
  80. OldCop1    Dc.l    0    
  81. OldCop2    Dc.l    0    
  82. OldIntEna    Dc.w    0    
  83. OldDmaCon    Dc.w    0    
  84. Screen    Dc.l    $c0000    
  85.  
  86. Cmv    Macro
  87.     Dc.w    \2,\1
  88.     EndM
  89.     
  90. Cwt    Macro
  91.     Dc.w    (\1*$100)+$01,$fffe
  92.     EndM    
  93.  
  94. Pal    Macro
  95.     Dc.w    $ffe1,$fffe
  96.     EndM    
  97.  
  98. EndCop    Macro
  99.     Dc.w    $ffff,$fffe
  100.     EndM    
  101.  
  102. CopperList    Cwt    $15    
  103.     Cmv    $0200,BplCon0    
  104.     Cmv    $00bb,BplCon1    
  105.     Cmv    $000a,BplCon2    
  106.     Cmv    $0034,DdfStrt    
  107.     Cmv    $00c8,DdfStop    
  108.     Cmv    $1681,DiwStrt    
  109.     Cmv    $36c1,DiwStop
  110.     Cmv    $0,BplMod1    
  111.     Cmv    $0,BplMod2    
  112.     
  113.     Cwt    $25        
  114.     Cmv    $0000,Color00    
  115.     Cmv    $0fff,Color01
  116.     
  117. CopperBPLS    Cmv    $c,BplPt0h    
  118.     Cmv    $0,BplPt0l    
  119.     Cmv    $0,BplPt1h    
  120.     Cmv    $0,BplPt1l    
  121.     Cmv    $0,BplPt2h    
  122.     Cmv    $0,BplPt2l    
  123.     Cmv    $0,BplPt3h    
  124.     Cmv    $0,BplPt3l    
  125.     Cmv    $0,BplPt4h
  126.     Cmv    $0,BplPt4l 
  127.     
  128.     Cwt    $28    
  129.     Cmv    $1200,BplCon0    
  130.  
  131.     EndCop
  132.  
  133. ****Custom Chip Registers****
  134.  
  135. Hardware    = $Dff000
  136.  
  137. ;Control Registers
  138.  
  139. Dmaconr    = $002
  140. Vposr    = $004
  141. Vhposr    = $006
  142. Joy0dat    = $00A
  143. Joy1dat    = $00C
  144. Clxdat    = $00E
  145. Intenar    = $01C
  146. Intereqr    = $01E
  147. Copcon    = $02E
  148.  
  149. ;Blitter Registers
  150.  
  151. Bltcon0    = $040
  152. Bltcon1    = $042
  153. Bltafwm    = $044
  154. Bltalwm    = $046
  155. Bltcpth    = $048
  156. Bltcptl    = $04A
  157. Bltbpth    = $04C
  158. Bltbptl    = $04E
  159. Bltapth    = $050
  160. Bltaptl    = $052
  161. Bltdpth    = $054
  162. Bltdptl    = $056
  163. Bltsize    = $058
  164. Bltcmod    = $060
  165. Bltbmod    = $062
  166. Bltamod    = $064
  167. Bltdmod    = $066
  168. Bltcdat    = $070
  169. Bltbdat    = $072
  170. Bltadat    = $074
  171.  
  172. ;Copper Registers
  173.  
  174. Cop1lc    = $080
  175. Cop1lch    = $080
  176. Cop1lcl    = $082
  177. Cop2lc    = $084
  178. Cop2lch    = $084
  179. Cop2lcl    = $086
  180. Copjmp1    = $088
  181. Copjmp2    = $08A
  182. Diwstrt    = $08E
  183. Diwstop    = $090
  184. Ddfstrt    = $092
  185. Ddfstop    = $094
  186. Dmacon    = $096
  187. Clxcon    = $098
  188. Intena    = $09A
  189. Intreq    = $09C
  190.  
  191. ;BitPlane Registers 
  192.  
  193. BplCon0    = $100
  194. BplCon1    = $102
  195. BplCon2    = $104
  196. BplMod1    = $108
  197. BplMod2    = $10a
  198.  
  199. BplPt0h    = $0e0
  200. BplPt0l    = $0e2
  201. BplPt1h    = $0e4
  202. BplPt1l    = $0e6
  203. BplPt2h    = $0e8
  204. BplPt2l    = $0ea
  205. BplPt3h    = $0ec
  206. BplPt3l    = $0ee
  207. BplPt4h    = $0f0
  208. BplPt4l    = $0f2
  209. BplPt5h    = $0f4
  210. BplPt5l    = $0f6
  211.  
  212. ;Colour Registers
  213.  
  214. Color00    = $180
  215. Color01    = $182
  216. Color02    = $184
  217. Color03    = $186
  218. Color04    = $188
  219. Color05    = $18a
  220. Color06    = $18c
  221. Color07    = $18e
  222. Color08    = $190
  223. Color09    = $192
  224. Color10    = $194
  225. Color11    = $196
  226. Color12    = $198
  227. Color13     = $19a
  228. Color14     = $19c
  229. Color15     = $19e
  230. Color16     = $1a0
  231. Color17     = $1a2
  232. Color18     = $1a4
  233. Color19     = $1a6
  234. Color20     = $1a8
  235. Color21     = $1aa
  236. Color22     = $1ac
  237. Color23     = $1ae
  238. Color24     = $1b0
  239. Color25     = $1b2
  240. Color26     = $1b4
  241. Color27     = $1b6
  242. Color28     = $1b8
  243. Color29     = $1ba
  244. Color30     = $1bc
  245. Color31     = $1be
  246.  
  247. EcsNop    = $1fe
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.